package classics;

public class EightQueues {
    int ans=0;
    int []a=new int[8];
    public boolean attack(int x0,int y0,int x1,int y1){
        if(x0==x1||y0==y1) return true;
        if(x0+y0==x1+y1||x0-y0==x1-y1) return true;
        return false;
    }
    public void dfs(int x){
        for(int i=0;i<8;i++){
            boolean ok=true;
            for(int j=0;j<x;j++){
                if(attack(j,a[j],x,i)){
                    ok=false;
                    break;
                }
            }
            if(ok){
                a[x]=i;
                dfs(x+1);
            }
        }
    }
}
